home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 February
/
EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso
/
enigma
/
earcd
/
utility
/
utilgraf
/
newicndt.lha
/
NewIconDT
/
Sources
/
classbase.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-10-24
|
4KB
|
114 lines
/******************************************************************************
*
* NewIcon Datatype
*
* Written by Pascal Hurni and Christian Buchner and David N. Junod
*
******************************************************************************
* classbase.h
*
*/
#include <dos/dos.h>
#include <dos/dosextens.h>
#include <exec/types.h>
#include <exec/ports.h>
#include <exec/memory.h>
#include <exec/lists.h>
#include <exec/semaphores.h>
#include <exec/execbase.h>
#include <intuition/classes.h>
#include <intuition/classusr.h>
#include <intuition/cghooks.h>
#include <intuition/gadgetclass.h>
#include <graphics/gfx.h>
#include <graphics/text.h>
#include <libraries/iffparse.h>
#include <datatypes/datatypes.h>
#include <datatypes/datatypesclass.h>
#include <datatypes/pictureclass.h>
#include <string.h>
#include <dos.h>
#include <libraries/newicon.h>
#include <clib/macros.h>
#include <clib/dos_protos.h>
#include <clib/exec_protos.h>
#include <clib/intuition_protos.h>
#include <clib/iffparse_protos.h>
#include <clib/graphics_protos.h>
#include <clib/utility_protos.h>
#include <clib/newicon_protos.h>
#include <clib/datatypes_protos.h>
#include <clib/dtclass_protos.h>
#include <clib/alib_protos.h>
#include <pragmas/dos_pragmas.h>
#include <pragmas/exec_pragmas.h>
#include <pragmas/intuition_pragmas.h>
#include <pragmas/iffparse_pragmas.h>
#include <pragmas/graphics_pragmas.h>
#include <pragmas/utility_pragmas.h>
#include <pragmas/newicon_pragmas.h>
#include <pragmas/datatypes_pragmas.h>
#include <pragmas/dtclass_pragmas.h>
/*****************************************************************************/
#define NEWICONDTCLASS "newicon.datatype"
/*****************************************************************************/
struct ClassBase
{
struct Library cb_Lib;
UWORD cb_UsageCnt;
struct Library *cb_SysBase;
struct Library *cb_DOSBase;
struct Library *cb_IntuitionBase;
struct Library *cb_GfxBase;
struct Library *cb_UtilityBase;
struct Library *cb_NewIconBase;
struct Library *cb_IFFParseBase;
struct Library *cb_DataTypesBase;
struct Library *cb_SuperClassBase;
BPTR cb_SegList;
struct SignalSemaphore cb_Lock; /* Access lock */
Class *cb_Class;
};
/*****************************************************************************/
#define SysBase cb->cb_SysBase
#define DOSBase cb->cb_DOSBase
#define UtilityBase cb->cb_UtilityBase
#define NewIconBase cb->cb_NewIconBase
#define IntuitionBase cb->cb_IntuitionBase
#define IFFParseBase cb->cb_IFFParseBase
#define GfxBase cb->cb_GfxBase
#define DataTypesBase cb->cb_DataTypesBase
/*****************************************************************************/
/* classbase.c */
Class *__asm ObtainClassEngine ( register __a6 struct ClassBase *cb );
struct Library *__asm LibInit ( register __d0 struct ClassBase *cb , register __a0 BPTR seglist , register __a6 struct Library *sysbase );
LONG __asm LibOpen ( register __a6 struct ClassBase *cb );
LONG __asm LibClose ( register __a6 struct ClassBase *cb );
LONG __asm LibExpunge ( register __a6 struct ClassBase *cb );
LONG __asm LibReserved( register __a6 struct ClassBase *cb );
/* dispatch.c */
ULONG setdtattrs ( struct ClassBase *cb , Object *o , ULONG data , ...);
ULONG getdtattrs ( struct ClassBase *cb , Object *o , ULONG data , ...);
Class *initClass ( struct ClassBase *cb );
ULONG __asm Dispatch ( register __a0 Class *cl , register __a2 Object *o , register __a1 Msg msg );
BOOL __asm GetPicture ( register __a6 struct ClassBase *cb , register __a0 Class *cl , register __a2 Object *o , register __a1 struct TagItem *attrs );
/* TestProximity.asm */
UWORD __asm TestProximity( register __d1 UWORD r1, register __d2 UWORD g1, register __d3 UWORD b1,
register __d5 UWORD r2, register __d6 UWORD g2, register __d7 UWORD b2 );